1. Field of the Invention
The present invention relates to a program preparation apparatus, in particular to a software development supporting tool.
2. Description of the Background Art
In general, in the case that a system using a microcomputer is developed, an environment for developing software (development supporting tool) which operates the microcomputer is necessary. As for the development supporting tools, there are a cross tool for preparing a program and an emulator for actually integrating the prepared program into the system so as to debug the program. In the preparation of a program by means of a cross tool, in general a source program is described by using a high level language such as a C language or an assembly language and the source program thereof is compiled into an object program which uses a machine language that the microcomputer can understand. The object program includes a plurality of instructions and addresses are allocated to these instructions respectively, which are stored in a memory of the microcomputer. The microcomputer carries out the object program by sequentially reading out the plurality of instructions stored in the memory. By devising a manner of compiling the source program to the object program, the performance of the microcomputer can be improved even in the case that the same source program is utilized. This is one index representing the performance of the development supporting tool and is, in general, called “compile performance.”
Here, a microcomputer is composed by using a plurality of CMOS transistors and in a CMOS transistor at the time when the output load is driven from “H” to “L” or from “L” to “H,” that is to say, at the time of switching current flows and power is consumed. Then, the amount of power consumed by a CMOS transistor increases in proportion to the number of times of switching. In addition, since a sudden current change is caused at the time of switching, malfunctions and noise are caused thereby. In particular, when the number of address buses or data buses which switch simultaneously is large, a large amount of current flows suddenly. As a result, a fluctuation in ground potential or power potential transitionally occurs which causes a malfunction or a lowering of performance of the microcomputer. In addition, when noise occurs, not only a malfunction or a lowering of performance in the microcomputer itself occur, but also noise is transmitted to the outside through a bus line or a power line.
In addition, as described above, a microcomputer sequentially reads out a plurality of instructions stored in a memory and, thereby, carries out an object program. Concretely, the CPU designates an address in a memory via an address bus and receives an instruction via a data bus from the address so as to carry out the instruction. A large amount of current flows in the microcomputer at the time of the switching of an address bus or a data bus and, therefore, the switching operation of these buses has a large influence on the amount of the power consumption or noise of the microcomputer. For example, a data bus is connected to a peripheral device or the like, as a common signal line of the system using a microcomputer and the length of the signal line is long and, therefore, the capacitance load is large. Therefore, a large amount of current flows at the time when the data bus switches. Consequently, in the case that the number of times that the potential of the address bus or the data bus changes can be reduced, the amount of power consumed can be reduced and the occurrence of noise can be suppressed accordingly.
Conventionally, however, measures for reducing the power consumption of a microcomputer or for suppressing the occurrence of malfunctions and noise have been carried out by modifying the architecture or hardware of the microcomputer and there is the problem that no measurements are carried out from a software viewpoint.